package com.kamistoat.meimeimall.meimeimallpayment.service;

import com.kamistoat.meimeimall.common.To.paymentTo.ReconciliationTaskTo;
import com.kamistoat.meimeimall.meimeimallpayment.entity.PaymentRecordEntity;
import com.kamistoat.meimeimall.meimeimallpayment.entity.ReconciliationTaskEntity;

import java.util.List;

public interface ReconciliationTaskService {
    /**
     * 创建新的对账任务
     *
     * @param reconciliationTaskTo
     */
    void newReconciliationTask(ReconciliationTaskTo reconciliationTaskTo);

    /**
     * 条件查询全部
     *
     * @param pageSize 分页参数
     * @param curPage  分页参数
     * @return
     */
    List<ReconciliationTaskEntity> getAllReconciliationTask(Integer pageSize, Integer curPage);

    /**
     * 前端开始一项对账任务。任务将提交给消息队列执行
     *
     * @param taskId 任务Id
     */
    void startReconciliationTask(Long taskId);

    /**
     * 消息队列监听到一项对账任务的执行动作。
     *
     * @param taskId 任务Id
     */
    void reconciliationTaskExecute(Long taskId);

    void dropTablesInCurTask(ReconciliationTaskEntity selectRes);

    /**
     * 生成测试数据
     */
    void constructTestData(Integer size, String day);
}
